Alias Analysis On Type Inference For Class Hierarchy In Java
نویسندگان
چکیده
The integration of alias analysis with type information increases the precision of alias detection, especially for inheritance among classes. This paper presents a compile-time flow-sensitive context-insensitive alias analysis algorithm with type information for Java. First, we propose an aliased element representation for an object to compute aliases efficiently. Second, the algorithm computes aliases for shadowed variables by regarding constructors as functions. Third, it performs type inference for each reference variable. The inferred type information increases the precision of subsequent alias analysis by building a complete calling graph, not only for overridden methods but also for both shadowed variables and constructors. Fourth, it presents algorithms to compute aliases for each statement. As a result, the precision and efficiency of the algorithm is improved.
منابع مشابه
Understanding class hierarchies with KABA
KABA is a prototype implementation of the Snelting/Tip analysis [2, 3] for JAVA. KABA combines data ow analysis, type inference and concept lattices in order to perform a negrained analysis of member-access patterns in a class hierarchy together with a given set of applications. KABA computes a transformed hierarchy which is guaranteed to be 1. operationally equivalent, 2. maximally factorized,...
متن کاملType-Safe Optimisation of Plugin Architectures
Programmers increasingly implement plugin architectures in type-safe object-oriented languages such as Java. A virtual machine can dynamically load class files containing plugins, and a JIT compiler can do optimisations such as method inlining. Until now, the best known approach to type-safe method inlining in the presence of dynamic class loading is based on Class Hierarchy Analysis. Flow anal...
متن کاملType inference for MLj
MLj is an extension of the Standard ML language which allows interoperation with Java. It has a type system which combines ML’s parametric polymorphism and type inference with Java’s subtyping (class hierarchy) and arbitrary overloading of methods. In this paper, we discuss some of the difficulties in implementing type inference for MLj and outline our progress on the implementation. In particu...
متن کاملJAAT: A Practical Alias Analysis Tool for Java Programs
When an expression refers to a memory location that is referred to by another expression, we say that there is an alias relation between those expressions. Alias analysis, i.e, the extraction of such relations is essential for efficient maintenance of object-oriented programs. Although many researchers have already proposed analysis methods and implemented prototype tools for object-oriented pr...
متن کاملA SUIF Java Compiler
To compete with optimized C, object-oriented languages need classical optimizations as well as speci c object-oriented optimizations. Therefore, a compiler infrastructure that enables object-oriented compiler research is of great interest for the research community. The SUIF compiler system with the OSUIF extension o ers such a research environment. SUIF de nes an intermediate representation fo...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2001